42 research outputs found

    Mutation Analysis for Security Tests Qualification

    Get PDF

    Model Driven Mutation Applied to Adaptative Systems Testing

    Get PDF
    Dynamically Adaptive Systems modify their behav- ior and structure in response to changes in their surrounding environment and according to an adaptation logic. Critical sys- tems increasingly incorporate dynamic adaptation capabilities; examples include disaster relief and space exploration systems. In this paper, we focus on mutation testing of the adaptation logic. We propose a fault model for adaptation logics that classifies faults into environmental completeness and adaptation correct- ness. Since there are several adaptation logic languages relying on the same underlying concepts, the fault model is expressed independently from specific adaptation languages. Taking benefit from model-driven engineering technology, we express these common concepts in a metamodel and define the operational semantics of mutation operators at this level. Mutation is applied on model elements and model transformations are used to propagate these changes to a given adaptation policy in the chosen formalism. Preliminary results on an adaptive web server highlight the difficulty of killing mutants for adaptive systems, and thus the difficulty of generating efficient tests.Comment: IEEE International Conference on Software Testing, Verification and Validation, Mutation Analysis Workshop (Mutation 2011), Berlin : Allemagne (2011

    A Generic Metamodel For Security Policies Mutation

    Get PDF
    International audienceWe present a new approach for mutation analysis of Security Policies test cases. We propose a metamodel that provides a generic representation of security policies access control models and define a set of mutation operators at this generic level. We use Kermeta to build the metamodel and implement the mutation operators. We also illustrate our approach with two successful instantiation of this metamodel: we defined policies with RBAC and OrBAC and mutated these policies

    Model-Based Tests for Access Control Policies

    Get PDF
    International audienceWe present a model-based approach to testing access control requirements. By using combinatorial testing, we first automatically generate test cases from and without access control policies- i.e., the model and assess the effectiveness of the test suites by means of mutation testing. We also compare them to purely random tests. For some of the investigated strategies, non-random tests kill considerably more mutants than the same number of random tests. Since we rely on policies only, no information on the application is required at this stage. As a consequence, our methodol- ogy applies to arbitrary implementations of the policy decision point

    Security-Driven Model-Based Dynamic Adaptation

    Get PDF
    International audienceSecurity is a key-challenge for software engineering, especially when considering access control and software evolutions. No satisfying solution exists for maintaining the alignment of access control policies with the business logic. Current implementations of access control rely on the separation between the policy and the application code. In practice, this separation is not so strict and some rules are hard-coded within the application, making the evolution of the policy difficult. We propose a new methodology for implementing security-driven applications. From a policy defined by a security expert, we generate an architectural model, reflecting the access control policy. We leverage the advances in the models@runtime domain to keep this model synchronized with the running system. When the policy is updated, the architectural model is updated, which in turn reconfigures the running system. As a proof of concept, we apply the approach to the development of a library management system

    Model-Based Security Testing

    Full text link
    Security testing aims at validating software system requirements related to security properties like confidentiality, integrity, authentication, authorization, availability, and non-repudiation. Although security testing techniques are available for many years, there has been little approaches that allow for specification of test cases at a higher level of abstraction, for enabling guidance on test identification and specification as well as for automated test generation. Model-based security testing (MBST) is a relatively new field and especially dedicated to the systematic and efficient specification and documentation of security test objectives, security test cases and test suites, as well as to their automated or semi-automated generation. In particular, the combination of security modelling and test generation approaches is still a challenge in research and of high interest for industrial applications. MBST includes e.g. security functional testing, model-based fuzzing, risk- and threat-oriented testing, and the usage of security test patterns. This paper provides a survey on MBST techniques and the related models as well as samples of new methods and tools that are under development in the European ITEA2-project DIAMONDS.Comment: In Proceedings MBT 2012, arXiv:1202.582

    Modélisation et test de mécanismes de sécurité dans des applications internet

    No full text
    This thesis focuses on the issue of security testing of web-applications, considering the internal part of a system (access control policies) and then its interfaces (bypass testing and shielding). The proposed approaches led to address the issue of modelling the security policies as well as the testing artifacts, using Model-Driven Engineering as the underlying technology to propose elements for a model-driven security process. Concerning the internal part of a system, we first study the differences between classical functional tests and test targeting the security mechanisms explicitly (so called security tests). In this context, we adapted mutation analysis to assess and qualify security tests. Then, we proposed three complementary approaches dealing with access control testing; the first one is based on pair-wise technique and allows access control tests to be generated automatically, while the second approach allows functional tests to be selected and transformed into security tests. Finally, the last approach focuses on detecting hidden access control mechanisms, which harm the flexibility and evolutivity of the access control mechanisms. To complete all these approaches which focus on the internal part of the application, we tackled the issue of testing the interface and more precisely bypass-testing. We leveraged the ideas of bypass-testing and used automated analysis of the web application to provide a new approach for testing and shielding web applications against bypass-attacks, which occur when malicious users bypass client-side input validation. The work on access control testing led us to focus on proposing new model-driven approaches for developing and integrating access control mechanisms in a way that guarantees better quality and testability. Two research directions were explored for this purpose. The first one is based on a metamodel and provides a complete MDE process for automatically specifying, and integrating (semi-automatically) access control policies. This approach takes into account testing at the early stage of modeling and provides a generic certification process based on mutation. Finally, the second approach is based on model composition and allows an automated integration of the access control policy, and more importantly the automated reconfiguration of the system when the access control policy needs to evolve.Les travaux effectués dans de cadre de cette thèse s'intéressent à la problématique du test de sécurité des applications, en considérant la validation des mécanismes de sécurité interne à un système d'une part, puis la sécurité des interfaces web d'autre part. Pour la partie interne, nous avons comparé, dans un premier temps, l'utilisation du test fonctionnel et des tests de sécurité pour valider les mécanismes implémentant une politique de contrôle d'accès. Dans ce cadre, l'analyse de mutation a été adaptée pour qualifier et évaluer les tests. Nous avons ensuite proposé trois méthodologies pour tester les mécanismes de contrôle d'accès: - utilisation du pair-wise pour générer les tests de sécurité, - sélection et transformation des tests fonctionnels en tests de sécurité - détection de mécanismes de sécurité cachés qui nuisent à la flexibilité et l'évolutivivité du système. Concernant le test des interfaces web, visant non seulement à tester le code validant les entrées de l'utilisateur mais aussi protéger les applications web, nous avons proposé une nouvelle approche qui tire profit du test par contournement (bypass-testing) et qui permet de protéger les applications web contre ce type d'attaques. Cette approche a été concrétisée dans un outil permettant à la fois l'audit et la sécurisation des applications web. L'ensemble de ces travaux a conduit à réfléchir à de nouvelles méthodologies de développement garantissant une meilleure qualité et une meilleure testabilité des mécanismes de contrôle d'accès. L'ingénierie des modèles (IDM) a été exploitée pour automatiser la spécification et le déploiement semi-automatisé des politiques de contrôle d'accès, et offrir par analyse de mutation un moyen de certification générique des tests de sécurité. Enfin, la composition de modèles permet d'automatiser l'intégration des mécanismes de sécurité, et surtout la reconfiguration automatique du système en cas d'évolution de la politique de sécurité

    Test et modélisation de mécanismes de sécurité dans les applications Web

    No full text
    Les travaux effectués dans de cadre de cette thèse s'intéressent à la problématique du test de sécurité des applications, en considérant la validation des mécanismes de sécurité interne à un système d'une part, puis la sécurité des interfaces web d'autre part. Pour la partie interne, nous avons comparé, dans un premier temps, l'utilisation du test fonctionnel et des tests de sécurité pour valider les mécanismes implémentant une politique de contrôle d'accès. Dans ce cadre, l'analyse de mutation a été adaptée pour qualifier et évaluer les tests. Nous avons ensuite proposé trois méthodologies pour tester les mécanismes de contrôle d'accès ; utilisation du pair-wise pour générer les tests de sécurité, sélection et transformation des tests fonctionnels en tests de sécurité et enfin détection de mécanismes de sécurité cachés qui nuisent à la flexibilité et l'évolutivivité du système. Concernant le test des interfaces web, visant non seulement à tester le code validant les entrées de l'utilisateur mais aussi protéger les applications web, nous avons proposé une nouvelle approche qui tire profit du test par contournement et qui permet de protéger les applications web contre ce type d'attaques. Cette approche a été concrétisée dans un outil permettant à la fois l'audit et la sécurisation des applications web. L'ensemble de ces travaux a conduit à réfléchir à de nouvelles méthodologies de développement garantissant une meilleure qualité et une meilleure testabilité des mécanismes de contrôle d'accès. L'ingénierie des modèles (IDM) a été exploitée pour automatiser la spécification et le déploiement semi-automatisé des politiques de contrôle d'accès, et offrir par analyse de mutation un moyen de certification générique des tests de sécurité. Enfin, la composition de modèles permet d'automatiser l'intégration des mécanismes de sécurité, et surtout la reconfiguration automatique du système en cas d'évolution de la politique de sécurité.This thesis focuses on the issue of security testing of web-applications, considering the internal part of a system (access control policies) and then its interfaces (bypass testing and shielding). The proposed approaches led to address the issue of modeling the security policies as well as the testing artifacts, using Model-Driven Engineering as the underlying technology to propose elements for a model-driven security process. Concerning the internal part of a system, we first study the differences between classical functional tests and test targeting the security mechanisms explicitly (so called security tests). In this context, we adapted mutation analysis to assess and qualify security tests. Then, we proposed three complementary approaches dealing with access control testing; the first one is based on pair-wise technique and allows access control tests to be generated automatically, while the second approach allows functional tests to be selected and transformed into security tests. Finally, the last approach focuses on detecting hidden access control mechanisms, which harm the flexibility of the access control mechanisms and their ability to evolve. To complete all these approaches which focus on the internal part of the application, we tackled the issue of testing the interface and especially the bypass-testing. We leveraged the ideas of bypass-testing and used automated analysis of the web application to provide a new approach for testing and shielding web applications against bypass-attacks, which occur when malicious users bypass client-side input validation. The work on access control testing led us to focus on proposing new model-driven approaches for developing and integrating access control mechanisms in a way that guarantees better quality and testability. Two research directions were explored for this purpose. The first one is based on a metamodel and provides a complete MDE process for automatically specifying, and integrating (semi-automatically) access control policies. This approach takes into account testing at the early stage of modeling and provides a generic certification process based on mutation. Finally, the second approach is based on model composition and allows an automated integration of the access control policy, and more importantly the automated reconfiguration of the system when the access control policy needs to evolve.RENNES1-BU Sciences Philo (352382102) / SudocBREST-Télécom Bretagne (290192306) / SudocCESSON SEVIGNE-Télécom Breta (350512301) / SudocSudocFranceF
    corecore